在系统运维管理中,因用户账号口令比较简单而导致被盗用的情况比较常见。为防止用户使用较为简单的口令,可以在用户登录系统时进行弱口令检测,如判断为弱口令则可强制要求用户修改成强度较高的口令。
一、前端检查
使用Javascript对用户输入口令进行简单检查。代码可以放在IdP前端登录页面。
检查标准如下:
(1)口令长度大于8位
(2)至少包括:小写字母、大写字母、数字、特殊字符4类中的2类字符
示例代码:inputCheck.html
二、后端检查
代码可放置在IdP认证系统后端。
检查标准如下:
(1)口令长度大于8位
(2)口令不与登录用户名相同,或口令不包含用户名
(3)口令不包含超过3位的相同字符,例如:1111,aaaa
(4)不含连续数字,例如:1234, 2345
(5)不能全是数字、小写字母、大写字母
示例代码(JAVA):checkSimplePWD.java
checkSimplePWD.java/*** @version: V1.0* @author: CARSI* @className: checkSimplePWD* @packageName: checkSimplePWD* @description: Check Simple password* @data: 2020-06-29* @param: *userLoginPWD String*userLoginID String* @return:* true : simple password* false : not simple password*** Simple password verify rule: * 1. password == userLoginID OR password include userLoginID* 2. password length < 8* 3. password same numbers more than 3 , Like: 1111,aaaa* 4. serial char more than 4, Like: 1234,4567* 5. password is all numbers* 6. password is all low char* 7. password is all large char**/import java.util.regex.*;public class checkSimplePWD {public static boolean isSimple(String userLoginPWD, String userLoginID){ /* check password == userLoginIDOR check password include userLoginID */if( userLoginPWD.equals(userLoginID) || userLoginPWD.indexOf(userLoginID)>-1 ){return true;}if(userLoginPWD.length()